home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK1.toast / Development Kits (Disc 1) / QuickDraw 3D / Development / Interfaces / QD3DPascalInterfaces / QD3DErrors.p < prev    next >
Encoding:
Text File  |  1996-11-15  |  11.1 KB  |  263 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QD3DErrors.p
  3.  
  4.      Contains:    Error API and error codes                                        
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.0.6
  7.                  Release:    Universal Interfaces 2.1.5d1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT QD3DErrors;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __QD3DERRORS__}
  28. {$SETC __QD3DERRORS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC QD3DErrorsIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __QD3D__}
  35. {$I QD3D.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __TYPES__}
  38. {$I Types.p}
  39. {$ENDC}
  40.  
  41. {$PUSH}
  42. {$ALIGN POWER}
  43. {$LibExport+}
  44.  
  45. {
  46. *****************************************************************************
  47.  **                                                                             **
  48.  **                            Error Types and Codes                             **
  49.  **                                                                             **
  50.  ****************************************************************************
  51. }
  52.  
  53. TYPE
  54.     TQ3Error                     = LONGINT;
  55. CONST
  56.     kQ3ErrorNone                = {TQ3Error}0;                    {  Fatal Errors  }
  57.     kQ3ErrorInternalError        = {TQ3Error}-28500;
  58.     kQ3ErrorNoRecovery            = {TQ3Error}-28499;
  59.     kQ3ErrorLastFatalError        = {TQ3Error}-28498;                {  System Errors  }
  60.     kQ3ErrorNotInitialized        = {TQ3Error}-28490;
  61.     kQ3ErrorAlreadyInitialized    = {TQ3Error}-28489;
  62.     kQ3ErrorUnimplemented        = {TQ3Error}-28488;
  63.     kQ3ErrorRegistrationFailed    = {TQ3Error}-28487;                {  OS Errors  }
  64.     kQ3ErrorUnixError            = {TQ3Error}-28486;
  65.     kQ3ErrorMacintoshError        = {TQ3Error}-28485;
  66.     kQ3ErrorX11Error            = {TQ3Error}-28484;                {  Memory Errors  }
  67.     kQ3ErrorMemoryLeak            = {TQ3Error}-28483;
  68.     kQ3ErrorOutOfMemory            = {TQ3Error}-28482;                {  Parameter errors  }
  69.     kQ3ErrorNULLParameter        = {TQ3Error}-28481;
  70.     kQ3ErrorParameterOutOfRange    = {TQ3Error}-28480;
  71.     kQ3ErrorInvalidParameter    = {TQ3Error}-28479;
  72.     kQ3ErrorInvalidData            = {TQ3Error}-28478;
  73.     kQ3ErrorAcceleratorAlreadySet = {TQ3Error}-28477;
  74.     kQ3ErrorVector3DNotUnitLength = {TQ3Error}-28476;
  75.     kQ3ErrorVector3DZeroLength    = {TQ3Error}-28475;                {  Object Errors  }
  76.     kQ3ErrorInvalidObject        = {TQ3Error}-28474;
  77.     kQ3ErrorInvalidObjectClass    = {TQ3Error}-28473;
  78.     kQ3ErrorInvalidObjectType    = {TQ3Error}-28472;
  79.     kQ3ErrorInvalidObjectName    = {TQ3Error}-28471;
  80.     kQ3ErrorObjectClassInUse    = {TQ3Error}-28470;
  81.     kQ3ErrorAccessRestricted    = {TQ3Error}-28469;
  82.     kQ3ErrorMetaHandlerRequired    = {TQ3Error}-28468;
  83.     kQ3ErrorNeedRequiredMethods    = {TQ3Error}-28467;
  84.     kQ3ErrorNoSubClassType        = {TQ3Error}-28466;
  85.     kQ3ErrorUnknownElementType    = {TQ3Error}-28465;
  86.     kQ3ErrorNotSupported        = {TQ3Error}-28464;                {  Extension Errors  }
  87.     kQ3ErrorNoExtensionsFolder    = {TQ3Error}-28463;
  88.     kQ3ErrorExtensionError        = {TQ3Error}-28462;
  89.     kQ3ErrorPrivateExtensionError = {TQ3Error}-28461;            {  Geometry Errors  }
  90.     kQ3ErrorDegenerateGeometry    = {TQ3Error}-28460;
  91.     kQ3ErrorGeometryInsufficientNumberOfPoints = {TQ3Error}-28459; {  IO Errors  }
  92.     kQ3ErrorNoStorageSetForFile    = {TQ3Error}-28458;
  93.     kQ3ErrorEndOfFile            = {TQ3Error}-28457;
  94.     kQ3ErrorFileCancelled        = {TQ3Error}-28456;
  95.     kQ3ErrorInvalidMetafile        = {TQ3Error}-28455;
  96.     kQ3ErrorInvalidMetafilePrimitive = {TQ3Error}-28454;
  97.     kQ3ErrorInvalidMetafileLabel = {TQ3Error}-28453;
  98.     kQ3ErrorInvalidMetafileObject = {TQ3Error}-28452;
  99.     kQ3ErrorInvalidMetafileSubObject = {TQ3Error}-28451;
  100.     kQ3ErrorInvalidSubObjectForObject = {TQ3Error}-28450;
  101.     kQ3ErrorUnresolvableReference = {TQ3Error}-28449;
  102.     kQ3ErrorUnknownObject        = {TQ3Error}-28448;
  103.     kQ3ErrorStorageInUse        = {TQ3Error}-28447;
  104.     kQ3ErrorStorageAlreadyOpen    = {TQ3Error}-28446;
  105.     kQ3ErrorStorageNotOpen        = {TQ3Error}-28445;
  106.     kQ3ErrorStorageIsOpen        = {TQ3Error}-28444;
  107.     kQ3ErrorFileAlreadyOpen        = {TQ3Error}-28443;
  108.     kQ3ErrorFileNotOpen            = {TQ3Error}-28442;
  109.     kQ3ErrorFileIsOpen            = {TQ3Error}-28441;
  110.     kQ3ErrorBeginWriteAlreadyCalled = {TQ3Error}-28440;
  111.     kQ3ErrorBeginWriteNotCalled    = {TQ3Error}-28439;
  112.     kQ3ErrorEndWriteNotCalled    = {TQ3Error}-28438;
  113.     kQ3ErrorReadStateInactive    = {TQ3Error}-28437;
  114.     kQ3ErrorStateUnavailable    = {TQ3Error}-28436;
  115.     kQ3ErrorWriteStateInactive    = {TQ3Error}-28435;
  116.     kQ3ErrorSizeNotLongAligned    = {TQ3Error}-28434;
  117.     kQ3ErrorFileModeRestriction    = {TQ3Error}-28433;
  118.     kQ3ErrorInvalidHexString    = {TQ3Error}-28432;
  119.     kQ3ErrorWroteMoreThanSize    = {TQ3Error}-28431;
  120.     kQ3ErrorWroteLessThanSize    = {TQ3Error}-28430;
  121.     kQ3ErrorReadLessThanSize    = {TQ3Error}-28429;
  122.     kQ3ErrorReadMoreThanSize    = {TQ3Error}-28428;
  123.     kQ3ErrorNoBeginGroup        = {TQ3Error}-28427;
  124.     kQ3ErrorSizeMismatch        = {TQ3Error}-28426;
  125.     kQ3ErrorStringExceedsMaximumLength = {TQ3Error}-28425;
  126.     kQ3ErrorValueExceedsMaximumSize = {TQ3Error}-28424;
  127.     kQ3ErrorNonUniqueLabel        = {TQ3Error}-28423;
  128.     kQ3ErrorEndOfContainer        = {TQ3Error}-28422;
  129.     kQ3ErrorUnmatchedEndGroup    = {TQ3Error}-28421;
  130.     kQ3ErrorFileVersionExists    = {TQ3Error}-28420;                {  View errors  }
  131.     kQ3ErrorViewNotStarted        = {TQ3Error}-28419;
  132.     kQ3ErrorViewIsStarted        = {TQ3Error}-28418;
  133.     kQ3ErrorRendererNotSet        = {TQ3Error}-28417;
  134.     kQ3ErrorRenderingIsActive    = {TQ3Error}-28416;
  135.     kQ3ErrorImmediateModeUnderflow = {TQ3Error}-28415;
  136.     kQ3ErrorDisplayNotSet        = {TQ3Error}-28414;
  137.     kQ3ErrorCameraNotSet        = {TQ3Error}-28413;
  138.     kQ3ErrorDrawContextNotSet    = {TQ3Error}-28412;
  139.     kQ3ErrorNonInvertibleMatrix    = {TQ3Error}-28411;
  140.     kQ3ErrorRenderingNotStarted    = {TQ3Error}-28410;
  141.     kQ3ErrorPickingNotStarted    = {TQ3Error}-28409;
  142.     kQ3ErrorBoundsNotStarted    = {TQ3Error}-28408;
  143.     kQ3ErrorDataNotAvailable    = {TQ3Error}-28407;
  144.     kQ3ErrorNothingToPop        = {TQ3Error}-28406;                {  Renderer Errors  }
  145.     kQ3ErrorUnknownStudioType    = {TQ3Error}-28405;
  146.     kQ3ErrorAlreadyRendering    = {TQ3Error}-28404;
  147.     kQ3ErrorStartGroupRange        = {TQ3Error}-28403;
  148.     kQ3ErrorUnsupportedGeometryType = {TQ3Error}-28402;
  149.     kQ3ErrorInvalidGeometryType    = {TQ3Error}-28401;
  150.     kQ3ErrorUnsupportedFunctionality = {TQ3Error}-28400;        {  Group Errors  }
  151.     kQ3ErrorInvalidPositionForGroup = {TQ3Error}-28399;
  152.     kQ3ErrorInvalidObjectForGroup = {TQ3Error}-28398;
  153.     kQ3ErrorInvalidObjectForPosition = {TQ3Error}-28397;        {  Transform Errors  }
  154.     kQ3ErrorScaleOfZero            = {TQ3Error}-28396;                {  String Errors  }
  155.     kQ3ErrorBadStringType        = {TQ3Error}-28395;                {  Attribute Errors  }
  156.     kQ3ErrorAttributeNotContained = {TQ3Error}-28394;
  157.     kQ3ErrorAttributeInvalidType = {TQ3Error}-28393;            {  Camera Errors  }
  158.     kQ3ErrorInvalidCameraValues    = {TQ3Error}-28392;                {  DrawContext Errors  }
  159.     kQ3ErrorBadDrawContextType    = {TQ3Error}-28391;
  160.     kQ3ErrorBadDrawContextFlag    = {TQ3Error}-28390;
  161.     kQ3ErrorBadDrawContext        = {TQ3Error}-28389;
  162.     kQ3ErrorUnsupportedPixelDepth = {TQ3Error}-28388;
  163.  
  164.  
  165. TYPE
  166.     TQ3Warning                     = LONGINT;
  167. CONST
  168.     kQ3WarningNone                = {TQ3Warning}0;                {  General System  }
  169.     kQ3WarningInternalException    = {TQ3Warning}-28300;            {  Object Warnings  }
  170.     kQ3WarningNoObjectSupportForDuplicateMethod = {TQ3Warning}-28299;
  171.     kQ3WarningNoObjectSupportForDrawMethod = {TQ3Warning}-28298;
  172.     kQ3WarningNoObjectSupportForWriteMethod = {TQ3Warning}-28297;
  173.     kQ3WarningNoObjectSupportForReadMethod = {TQ3Warning}-28296;
  174.     kQ3WarningUnknownElementType = {TQ3Warning}-28295;
  175.     kQ3WarningTypeAndMethodAlreadyDefined = {TQ3Warning}-28294;
  176.     kQ3WarningTypeIsOutOfRange    = {TQ3Warning}-28293;
  177.     kQ3WarningTypeHasNotBeenRegistered = {TQ3Warning}-28292;    {  Parameter Warnings  }
  178.     kQ3WarningVector3DNotUnitLength = {TQ3Warning}-28291;        {  IO Warnings  }
  179.     kQ3WarningInvalidSubObjectForObject = {TQ3Warning}-28290;
  180.     kQ3WarningInvalidHexString    = {TQ3Warning}-28289;
  181.     kQ3WarningUnknownObject        = {TQ3Warning}-28288;
  182.     kQ3WarningInvalidMetafileObject = {TQ3Warning}-28287;
  183.     kQ3WarningUnmatchedBeginGroup = {TQ3Warning}-28286;
  184.     kQ3WarningUnmatchedEndGroup    = {TQ3Warning}-28285;
  185.     kQ3WarningInvalidTableOfContents = {TQ3Warning}-28284;
  186.     kQ3WarningUnresolvableReference = {TQ3Warning}-28283;
  187.     kQ3WarningNoAttachMethod    = {TQ3Warning}-28282;
  188.     kQ3WarningInconsistentData    = {TQ3Warning}-28281;
  189.     kQ3WarningReadLessThanSize    = {TQ3Warning}-28280;
  190.     kQ3WarningFilePointerResolutionFailed = {TQ3Warning}-28279;
  191.     kQ3WarningFilePointerRedefined = {TQ3Warning}-28278;
  192.     kQ3WarningStringExceedsMaximumLength = {TQ3Warning}-28277;    {  Memory Warnings  }
  193.     kQ3WarningLowMemory            = {TQ3Warning}-28276;
  194.     kQ3WarningPossibleMemoryLeak = {TQ3Warning}-28275;            {  View Warnings  }
  195.     kQ3WarningViewTraversalInProgress = {TQ3Warning}-28274;
  196.     kQ3WarningNonInvertibleMatrix = {TQ3Warning}-28273;            {  Quaternion Warning  }
  197.     kQ3WarningQuaternionEntriesAreZero = {TQ3Warning}-28272;    {  Renderer Warning  }
  198.     kQ3WarningFunctionalityNotSupported = {TQ3Warning}-28271;    {  DrawContext Warning  }
  199.     kQ3WarningInvalidPaneDimensions = {TQ3Warning}-28270;        {  Pick Warning  }
  200.     kQ3WarningPickParamOutside    = {TQ3Warning}-28269;            {  Scale Warnings  }
  201.     kQ3WarningScaleEntriesAllZero = {TQ3Warning}-28268;
  202.     kQ3WarningScaleContainsNegativeEntries = {TQ3Warning}-28267; {  Generic Warnings  }
  203.     kQ3WarningParameterOutOfRange = {TQ3Warning}-28266;
  204.  
  205.  
  206. TYPE
  207.     TQ3Notice                     = LONGINT;
  208. CONST
  209.     kQ3NoticeNone                = {TQ3Notice}0;
  210.     kQ3NoticeDataAlreadyEmpty    = {TQ3Notice}-28100;            {  General  }
  211.     kQ3NoticeMethodNotSupported    = {TQ3Notice}-28099;
  212.     kQ3NoticeObjectAlreadySet    = {TQ3Notice}-28098;
  213.     kQ3NoticeParameterOutOfRange = {TQ3Notice}-28097;            {  IO Notices  }
  214.     kQ3NoticeFileAliasWasChanged = {TQ3Notice}-28096;            {  Geometry  }
  215.     kQ3NoticeMeshVertexHasNoComponent = {TQ3Notice}-28095;
  216.     kQ3NoticeMeshInvalidVertexFacePair = {TQ3Notice}-28094;
  217.     kQ3NoticeMeshEdgeVertexDoNotCorrespond = {TQ3Notice}-28093;
  218.     kQ3NoticeMeshEdgeIsNotBoundary = {TQ3Notice}-28092;            {  Draw Context  }
  219.     kQ3NoticeDrawContextNotSetUsingInternalDefaults = {TQ3Notice}-28091; {  Lights  }
  220.     kQ3NoticeInvalidAttenuationTypeUsingInternalDefaults = {TQ3Notice}-28090;
  221.     kQ3NoticeBrightnessGreaterThanOne = {TQ3Notice}-28089;        {   Scale   }
  222.     kQ3NoticeScaleContainsZeroEntries = {TQ3Notice}-28088;
  223.  
  224.  
  225. TYPE
  226.     TQ3ErrorMethod = ProcPtr;  { PROCEDURE TQ3ErrorMethod(firstError: TQ3Error; lastError: TQ3Error; reference: LONGINT); C; }
  227.  
  228.     TQ3WarningMethod = ProcPtr;  { PROCEDURE TQ3WarningMethod(firstWarning: TQ3Warning; lastWarning: TQ3Warning; reference: LONGINT); C; }
  229.  
  230.     TQ3NoticeMethod = ProcPtr;  { PROCEDURE TQ3NoticeMethod(firstNotice: TQ3Notice; lastNotice: TQ3Notice; reference: LONGINT); C; }
  231.  
  232. {
  233. *****************************************************************************
  234.  **                                                                             **
  235.  **                                Error Routines                                 **
  236.  **                                                                             **
  237.  ****************************************************************************
  238. }
  239. FUNCTION Q3Error_Register(errorPost: TQ3ErrorMethod; reference: LONGINT): TQ3Status; C;
  240. FUNCTION Q3Warning_Register(warningPost: TQ3WarningMethod; reference: LONGINT): TQ3Status; C;
  241. FUNCTION Q3Notice_Register(noticePost: TQ3NoticeMethod; reference: LONGINT): TQ3Status; C;
  242. {
  243.  *  Getting error codes -
  244.  *    Clears error type on next entry into system (except all of these 
  245.  *  error calls), and returns the last error, and optionally the 
  246.  *    first error. The parameter to these "_Get" calls may be NULL.
  247. }
  248. FUNCTION Q3Error_Get(VAR firstError: TQ3Error): TQ3Error; C;
  249. FUNCTION Q3Error_IsFatalError(error: TQ3Error): TQ3Boolean; C;
  250. FUNCTION Q3Warning_Get(VAR firstWarning: TQ3Warning): TQ3Warning; C;
  251. FUNCTION Q3Notice_Get(VAR firstNotice: TQ3Notice): TQ3Notice; C;
  252. FUNCTION Q3MacintoshError_Get(VAR firstMacErr: OSErr): OSErr; C;
  253. {$ALIGN RESET}
  254. {$POP}
  255.  
  256. {$SETC UsingIncludes := QD3DErrorsIncludes}
  257.  
  258. {$ENDC} {__QD3DERRORS__}
  259.  
  260. {$IFC NOT UsingIncludes}
  261.  END.
  262. {$ENDC}
  263.